經過前面五天, 我們終於要開始設計module了
這時候我們要如何跟同事溝通這我們的設計呢?
在物件導向設計中, 通常會用UML來表達我們的軟體架構
但是UML 2.2有整整14種圖表要做, 最後就變成要嘛花太多資源在文件上
要嘛就是每種文件都做了一點點, 而且還不到位
所以我們要先釐清一些問題
實務上我在設計之前只會附上類圖
其他的東西就靠auto test補足
因為同事看這份類圖可以很直觀的理解類與類之間的責任分級
以及責任的粒度, 至於這些組件如何call, 回傳甚麼, 請對方直接去看auto test即可
這麼做有個明顯的好處, 只要test上面有寫的使用方式, 就不用擔心實作跟文件不符
並且有回傳值跟assert驗證實作會回傳的值
我也曾經看過那種文件跟實作完全不一樣的lib
甚至是call下去就會直接throw error
當然, 有使用雲端資源可以附上infra diagram
有使用資料庫資源可以附上Schema diagram
但是重要的是回到需求點, 因為我要傳達A 所以做了這種文件B
下次遇到同事問有沒有XXX類的文件, 先問一句
[你想看到從文件上看到甚麼現有的文件看不出來的東西嗎?]
就可以避免蝦做一堆文件,卻沒有達到目的的問題